Indexing methods are used to manage information of complex computing environments as part of optimizing searching systems and techniques to provide relevant search results. Many of the current search engines index items using different physical field structures for each aspect or property of an item to be indexed, leading to very large and high maintenance data structures. For example, a typical technical report may have properties such as title, uniform resource locator (URL), main content, author, date and time of last edit as a few examples. A product description may include properties such as price, size, weight, color, and flavor as examples. The different types of information to be indexed and used may differ significantly from one tenant to the next, resulting in large numbers of physical index fields and empty areas of an associated index. A tenant may refer to a person or group that rents and/or uses infrastructure shared with others, while being logically isolated from other tenants.
Correspondingly, when offering a search as a service, a search system needs to be cognizant of the fact that different customers or tenants have different types of items to index. Typically, a search service uses dedicated physical structures for the union of all properties of all items of all the different tenants, resulting in an index having a lot of holes and a high number of physical structures to handle for all the various properties. One solution uses a separate index per tenant which results in a large total number of physical structures than when storing the union of all properties in the same index. However, current indexing techniques are not configured to reuse physical index fields as part of providing indexing and searching services.